package com.azt.provider.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface IntegralCoinMapper {

	/** 
	 * @Title: getIntegralUsedTotal 
	 * @Description: 积分消耗总数
	 * @return
	 * @return: int
	 * @author: 查恒 2017年5月3日 上午9:16:58 
	 */
	public int getIntegralUsedTotal();

	/** 
	 * @Title: getExchangePrizeCount 
	 * @Description: 兑换礼品总数
	 * @return
	 * @return: int
	 * @author: 查恒 2017年5月3日 上午9:17:00 
	 */
	public int getExchangePrizeCount();

	/** 
	 * @Title: getUsedCoinCount 
	 * @Description: 安装币消耗总数
	 * @return
	 * @return: int
	 * @author: 查恒 2017年5月3日 上午9:17:03 
	 */
	public int getUsedCoinCount();

	/** 
	 * @Title: getGainCoinCount 
	 * @Description: 安装币获得总数
	 * @return
	 * @return: int
	 * @author: 查恒 2017年5月3日 上午9:17:05 
	 */
	public int getGainCoinCount();

	/** 
	 * @Title: getGainCoinDateRate 
	 * @Description: 每月用户获得安装币数量
	 * @param startDate
	 * @param endDate
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 上午11:36:59 
	 */
	public List<Map<String, Object>> getGainCoinDateRate(@Param("startDate")String startDate,@Param("endDate")String endDate);

	/** 
	 * @Title: getUsedCoinDateRate 
	 * @Description: 每月用户消耗安装币数量
	 * @param startDate
	 * @param endDate
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 上午11:48:49 
	 */
	public List<Map<String, Object>> getUsedCoinDateRate(@Param("startDate")String startDate,@Param("endDate")String endDate);

	/** 
	 * @Title: getGainIntegralRate 
	 * @Description: 每月用户获得积分数量
	 * @param startDate
	 * @param endDate
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午2:03:43 
	 */
	public List<Map<String, Object>> getGainIntegralRate(@Param("startDate")String startDate,@Param("endDate")String endDate);
	
	/** 
	 * @Title: getGainIntrgralPie 
	 * @Description: 积分各获得方式的数量占比
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午2:03:45 
	 */
	public List<Map<String, Object>> getGainIntrgralPie();

	/** 
	 * @Title: getUsedIntegralRate 
	 * @Description: 每月用户消耗积分数量
	 * @param startDate
	 * @param endDate
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午2:20:05 
	 */
	public List<Map<String, Object>> getUsedIntegralRate(@Param("startDate")String startDate,@Param("endDate")String endDate);

	/** 
	 * @Title: getUsedIntrgralPie 
	 * @Description: 积分各消耗方式的数量占比
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午2:20:08 
	 */
	public List<Map<String, Object>> getUsedIntrgralPie();

	/** 
	 * @Title: getViewGiftNumTop 
	 * @Description: 兑换的礼品数量排名前5的商品
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午2:34:34 
	 */
	public List<Map<String, Object>> getViewGiftNumTop();

	/** 
	 * @Title: selectCoinStream 
	 * @Description: 安装币流水（获得和消耗）
	 * @param searchMap
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午3:36:03 
	 */
	public List<Map<String, Object>> selectCoinStream(Map searchMap);

	/** 
	 * @Title: selectIntegralStream 
	 * @Description: 积分流水（获得和消耗）
	 * @param searchMap
	 * @return
	 * @return: List<Map<String,Object>>
	 * @author: 查恒 2017年5月3日 下午3:36:06 
	 */
	public List<Map<String, Object>> selectIntegralStream(Map searchMap);

}
